package com.song.aop;


import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
 * @author songzhangyong
 * @date 2019/03/30
 */
@Component
public class LogAspect {


	@Pointcut(value = "(execution(public * com.song.aop.*.*(..))) ")
	public void log() {
	}

	/**
	 * 定义一个切入点.
	 * ("execution(public * com.kfit.*.web..*.*(..))")
	 * 解释下：
	 * 第一个 * 代表任意修饰符及任意返回值.
	 * 第二个 * 任意包名
	 * 第三个 * 代表任意方法.
	 * 第四个 * 定义在web包或者子包
	 * 第五个 * 任意方法
	 * .. 匹配任意数量的参数.
	 */
	@Before(value = "log()")
	public void before(JoinPoint joinPoint) {
		System.out.println("spring 的 前置拦截器");
	}



}
